1. Field
The present disclosure relates generally to networked computer systems. More particularly, the present disclosure relates to user authentication and access to one or more web servers.
2. Description of Related Art
In a typical web-based server application, access to information is achieved via a web server, with the application requiring the user to be authenticated by, e.g., a user id and/or a password. When a user requests access to information controlled by a web server, the web server typically has a login/authentication procedure which is independent of previous login/authentication procedures encountered by the user. To access the resources, appropriate authentication data must be presented to authenticate the user to the web server. This is conventionally accomplished by requiring the user to input additional login/authentication information specific to the new web server, or by hard-coding a generic login and password.
Both of these solutions are unsatisfactory. Requiring the user to input additional information for each access request places a burden on the user to remember multiple logins and passwords and may also be a potential security risk if passwords are transmitted unencrypted over the network. Using a generic or static login and password in a script is a potential security hole and does not readily provide different levels of access based on the identity of the user.
One attempt at addressing these issues is found in the new technology LAN manager (NTLM) automated authentication system. In the NTLM system similar components (the web browser and server) assure one another of the user's identity once the user is initially authenticated to a Microsoft network or to a Microsoft Windows NT domain (using a password). This assurance occurs transparently to the user. However, this system does not perform authentication to any web server that is not in the NT domain or in a trusted relationship with the original domain. Thus, the NTLM authentication system is of limited utility.
Other conventional systems also provide access to independent network resources without prompting the user for authentication data. When these systems receive a user request to access an independent network resource, system logon and server authentication data is autonomously supplied to the independent network resource without further user interaction. However, these systems are not concerned with a worldwide web hypertext transfer protocol environment, and are generally not concerned with authentication information based on the user's role. These systems maintain a password cache in the main memory of a local computer system. The password cache contains a server name, user name and password for each server to be accessed by a particular user. When presented with an access request, network software searches the password cache structure for the server authentication information before passing it on to the server to be accessed.
Other conventional systems restrict a user's access of Internet information based on a rating category and/or ID associated with a particular terminal through the implementation of a firewall internal to a user's computer network. The firewall prevents the user from accessing certain types of Internet information (e.g., prevents children from accessing obscene material, prevents workers from accessing non-work related material, etc.). These systems are concerned with an internal authorization to access remote resources (which are presumed to be public resources), and are not concerned with a system in which authentication information is required by remote servers.
FIG. 1 is a block diagram showing a conventional arrangement of network system 10 including a web server 12 in communication with a client 14. The client 14 executes a web browser 16 which provides a user interface (not shown) for accessing resources through the web server 12. The web server 12 requires user authentication data to allow access to its resources. The web browser 16 and web server 12 exchange communication signals in the HTTP format via communication link 18.
As is known in the art, servers have been used for data caching (retaining data when it is first fetched in case it is needed again), and as authentication servers for incoming traffic at a “firewall” (that is, conventional servers accept or reject user authentication). One example of a server is an advertisement filter which resides with the browser on the same computer, and which can remove advertisements from web pages.